log using e16r , replace
clear 
set more off
use "charity field voice expert.dta"

ren diskussion t
keep if beslutsform == 0

set seed  358395
sem (d2 <-  t  wl p)(p <-  t  wl)   , vce(cluster klassnummer)
estat ic
estat teffects 

*** indirect and direct - winning/losing
cap program drop indireff
program indireff, rclass
sem (d2 <-  t  wl p)(p <-  t  wl)   , vce(cluster klassnummer)
  estat teffects
  mat bi = r(indirect)
  mat bt = r(total)
  return scalar indir  = el(bi,1,3)
  return scalar total  = el(bt,1,3)
end 

set seed 358395
bootstrap r(indir) r(total), reps(1000): indireff
estat bootstrap, percentile bc  

*** indirect and direct - treatment
cap program drop indireff
program indireff, rclass
sem (d2 <- wl  t  p)(p <- wl  t )    , vce(cluster klassnummer)
  estat teffects
  mat bi = r(indirect)
  mat bt = r(total)
  return scalar indirect  = el(bi,1,3)
  return scalar total  = el(bt,1,3)
end

set seed 358395
bootstrap r(indirect) r(total), reps(1000): indireff
estat bootstrap, percentile bc  
log close
